草庐IT

postgresql - Docker Compose 和 Postgres : Name does not resolve

全部标签

java - Java EE 中的 log4j postgres

经过多次搜索,我终于认为我的问题的解决方案是问你。所以我的问题在于如何创建有关我的Web应用程序使用情况的日志。我找到了log4jjava库,但我不明白它是如何工作的。我必须在哪里创建配置文件?在哪里以及如何引用它?我可以创建一个连接到postgres并插入日志我的三个参数的类吗?这是我在网上找到的:./src/log4j/log4j.propertieslog4j.rootCategory=FATAL,CONSOLE#definitiondel'appenderconsolelog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

java - 在 PostgreSQL 的时间戳列上使用 Hibernate 进行日期查询

一个表有时间戳列。其中的示例值可能是2010-03-3013:42:42。使用Hibernate,我正在执行范围查询Restrictions.between("column-name",fromDate,toDate)。此列的Hibernate映射如下。比方说,我想找出日期为2010年3月30日和2010年3月31日的所有记录。该字段的范围查询按如下方式完成。DatefromDate=newSimpleDateFormat("yyyy-MM-dd").parse("2010-03-30");DatetoDate=newSimpleDateFormat("yyyy-MM-dd").par

java - 如何启动 postgresql 实例进行集成测试

通常我使用hsqldb进行一些集成测试,它工作正常。但是有些测试需要有一个postgresql实例。当我们的生产服务器运行postgresql时,无论如何对生产数据库运行测试是个好主意。是否有maven插件或类似的东西可以轻松地在给定端口上安装和启动postgresql数据库,并在所有测试运行后将其关闭?类似于mysql-je对于mysql? 最佳答案 我什么都不知道。但是您可能不想启动和停止实际的PostgreSQL服务器;你想让服务器一直运行,并根据需要创建和销毁数据库。您可以createadatabaseinSQL,还有des

java - PostgreSQL:将用完整数列中的 ID

问题我们正在PostgreSQL之上用Java构建一个Web应用程序。它相当大而且很成功,至少应该可以再运行几年。不幸的是,我们(好吧,我)在设计过程的早期阶段犯了一个严重的错误:所有数据库ID都是整数,从一个共享序列分发。Java'smaxintis2^31-1,所以大约有20亿。PostgreSQL'sintegertype也是如此.该系统目前每天消耗约10,000个ID,并且随着我们获得新用户,该速率还在上升。总有一天,ID会用完并溢出。问题我们正在寻找解决问题的方法。让我们立即解决明显的问题:切换到Java的long和Postgres的bigint是一个干净的解决方案,但它是一

java - 如何使用存储为毫秒 Postgres 的日期的月份进行分组

我有一个交易表,其中包含net_amount字段和last_updated_time字段,其中last_updated_time以毫秒为单位存储。我需要使用月、年或日期来获取总金额组。我如何在PostgreSQL中执行此操作?我的表格如下所示:+------------+-------------------+|net_amount|last_updated_time|+------------+-------------------+|100|1470286872831|+------------+-------------------+|200|1471594713801|+---

java - 当我选择带有 AS 关键字的常量时,PostgreSQL 返回 java.sql.Types.OTHER

当通过java在Postgres上运行选择时SELECT''ASCOL1,0ASCOL2FROMMYTABLE1=2;COL1和COL2的列类型都是Types.OTHER。很明显结果集没有任何行。但是如果我使用下面的查询在结果集中有行:SELECT''ASCOL1,0ASCOL2FROMMYTABLE;COL1的类型仍然是Types.OTHER,但COL2的类型是Types.INTEGER。在我的例子中,我需要Types.VARCHAR和Types.INTEGER甚至结果是否为空。在db层或jdbcurl上是否有任何配置来获取Types.VARCHAR和Types.INTEGER两个查

java - 如何将 BigInteger 从 java 传递到 Postgres?

我需要将BigInteger参数传递给SQL查询。(在Postgres9.2上)我的DAO中有这段代码:publicListselect(Stringid){BigIntegerbigIntId=newBigInteger(id);JdbcTemplateselect=newJdbcTemplate(dataSource);returnselect.query("SELECT*FROMPE.SUPPLIER_INPUT_DATAWHEREID=?",newObject[]{bigIntId},newPersonRowMapper());}我收到以下异常:{"error":"Errori

java - JPA 中的 PostgreSQL 函数 string_agg

在PostgreSQL中,string_agg(column,separator)允许聚合一些字符串。我尝试将它与JPA一起使用,但它不是JPA标准函数。注意:这不等同于CriteriaBuilder#concat()。所以,我试图告诉JPA这个函数存在,就像这样:publicclassStringAggextendsParameterizedFunctionExpressionimplementsSerializable{publicstaticfinalStringNAME="string_agg";@OverridepublicbooleanisAggregation(){ret

java - 通过JDBC向PostgreSQL表中插入 "daterange"字段值

我在PostgreSQL(9.3)中有一张表daterange字段类型。我可以像使用JDBC的字符串一样选择这个字段,但我不能将它插入到表中。我尝试过的:PreparedStatementstm=conn.prepareStatement("insertintomytable(my_daterange_field)values(?)");stm.setString(1,"[2014-01-02,2014-01-04]");inti=stm.executeUpdate();我得到了:Exceptioninthread"main"org.postgresql.util.PSQLExcept

java - 子句和 setArray() 中的 Postgres SQL

我正在使用Java1.7、JDBC4和Postgres。我正在尝试使用带有数组的PreparedStatement来填充SQLin子句。但是,生成的SQL中似乎有“{”和“}”。这是代码:PreparedStatementptmt=connection.prepareStatement("select*fromfoowhereidin(?)");String[]values=newString[3];values[0]="a";values[1]="b";values[2]="c";ptmt.setArray(1,connection.createArrayOf("text",valu